1. Field of the Invention
The present invention relates generally to wireless communications, and more particularly, to an improved method for selectively rejecting frames that were lost during transmission between a packet data sending unit and a packet data receiving unit, to improve the throughput of high speed data in a noisy wireless environment.
2. Description of the Prior Art
Fixed wireless systems are used to communicate voice and high speed data (HSD) between a base station (BS) and multiple remote units (RU) over an air-interface. HSD is generally used for web browsing, down loads and file transfer protocols (FTP). All data must be transferred notwithstanding the predictable errors caused by the communications links employed in the system (e.g., a 10E-03 Bit Error Rate (BER)). Accordingly, communication protocols have been developed for transmitting data in discrete blocks commonly referred to as xe2x80x9cframes.xe2x80x9d These frames are evaluated at the receiving end to determine if the data is correctly received. If certain frames are in error or missed, those frames are retransmitted by the sending station.
Communications protocols are commonly based on the layered network architecture such as OSI. This is a 7-layer architecture including a physical layer (connectors, media, electrical signaling) and a data link layer, which packages the data into frames, manages data transmission over a link (error handling and the like), and facilitates access control (when each station may transmit). One way of achieving full-duplex data transmission over a single communication channel utilizes what is known in the art as a xe2x80x9csliding window protocol.xe2x80x9d At any instant in time, the sender maintains a list of consecutive sequence numbers corresponding to frames it is permitted to send. These frames fall within a xe2x80x9csending window.xe2x80x9d In the same manner, the receiver maintains a xe2x80x9creceiving windowxe2x80x9d corresponding to the frames it is permitted to accept. The sending and receiving windows do not necessarily have the same upper and lower limits, or the same size. The sequence numbers within the sender""s window represent frames sent but not yet acknowledged. Whenever a new data packet arrives from the network layer, it is given the next highest sequence number, and the upper edge of the window is advanced by one. When an acknowledgement is received, the lower edge of the window is advanced by one. The window continuously maintains a list of unacknowledged frames. Since frames currently within the sender""s window may be lost or changed during transmission, the sender must keep all the sent frames in memory in the event a retransmission is required. Accordingly, if the maximum window size is xe2x80x9cKxe2x80x9d, the sender needs K buffers to hold the unacknowledged frames in memory. If the window ever exceeds it""s maximum size, the sending data link layer must shut off the network layer until a buffer is freed up. The receiving data link layer""s window corresponds to the frames it can accept. Any frame that falls outside the window is discarded. When a frame with a sequence number equal to the lower edge of the window is received, that frame is passed to the network layer, an acknowledgment is generated to the sender, and the window is rotated by one. Unlike the sender""s window, the receiver""s window always remains at its initial size.
An example of a sliding window protocol in a data communications system is disclosed in U.S. Pat. No. 4,841,526. In the ""526 patent, the window size of the sending or receiving station is selected in accordance with the speed, length or error rate of the communication link or frame size used to maximize the communication link. The negative acknowledgements sent by the receiving station specify the upper and lower limit of a range of identification numbers of frames unsuccessfully received to increase transmission efficiency. Before data is transmitted, the sending and receiving stations exchange preferred sets of link parameters and generate a modified set of link parameters to resolve potential conflicts. One of the sending and receiving stations stores a table defining the frame sizes for use with different bit error rates of the communication link. The station evaluates the current bit error rate to select the optimum frame size from the table and adjust the frame size. The ""526 Patent also discloses a mechanism for selectively rejecting a plurality of missed frames by identifying the number of successive frames that have to be retransmitted from the sending station, as a xe2x80x9cpayloadxe2x80x9d in the selective reject message. In this scheme, a single negative acknowledgment message sent by the receiving station specifies the upper and lower limits of a range of identification numbers of frames that were unsuccessfully received by the receiving station.
In accordance with the present invention, it is an object thereof to provide an improved method for recovering frames that were lost during transmission between a packet data sending unit and a packet data receiving unit in a data communications system.
It is another object of the present invention to provide an improved selective reject mechanism to improve the throughput of high speed data in noisy wireless environments to improve transmission delays.
It is still another object of the present invention to provide an improved selective reject mechanism for use in noisy wireless environments where burst errors can cause a relatively large number of consecutive and non-consecutive data packets to be lost in transmission between a packet data sending unit and a packet data receiving unit.
In accordance with the above objects and additional objects that will become apparent hereinafter, the present invention provides a method of recovering lost frames transmitted between a packet data sending unit and a packet data receiving unit in a data communications system. In accordance with the invention, the packet data receiving unit first identifies a failure to successfully frames received prior to a frame successfully received at the packet data receiving unit. The packet data receiving unit starts a selective reject wait timer and determines whether the number of frames lost so far is greater than or equal to a predetermined threshold. If the number of lost frames is greater than or equal to the preset limit, the packet receiving unit generates a selective reject message that includes a payload indicating a first missed frame and subsequent missed frames. If the number of missed frames is less than the predetermined threshold, the packet data receiving unit waits until the expiration of the selective reject wait timer or until after the next determination that the number of missed frames exceeds the predetermined threshold. It then sends the selective reject message to the packet data sending unit. Upon successful receipt of the retransmitted missed frames from the packet data sending unit, the packet data receiving unit generates a receive ready message and sends the receive ready message to the packet data sending unit.
The present invention will now be described with particular reference to the accompanying drawings.